#	Index: OSLib/!OsLib/Tools/DefMod2/defmod/Build_RISCOS/Makefile,fe1	20031228
# Makefile for DefMod2 build for and under RISC OS

VPATH=@ ^.sources ^.support

TARGET 	    = DefMod
BIN   	    = <OSLib$BinDir>.${TARGET}
DIR   	    = <OSLib$ToolsDir>.Defmod2
COPYFLAGS   = A~C~DFLN~P~Q~R~S~T~V

INCLUDES    = -I@.^. -I@.^.sources. -I@.^.support. -IC:
ASMINCLUDES = -I^.oslib
#CCOPTIONS   = -Wa
DEFINES     = -DTRACE=0 -DRISCOS -DASMCMD=objasm -DEXECUTE_ON_RISCOS -DYYDEBUG=0
#DEPEND 	    = -depend !Depend

CC    = cc ${DEPEND} ${INCLUDES} ${CCOPTIONS} ${DEFINES} -facfK -wcp -throwback
ASM   = OBJASM ${ASMINCLUDES} ${ASMOPTIONS} ${DEPEND} -stamp -quit -throwback
LINK  = Link
YACC  = OSLibBin:bison
CP    = copy
RM    = OSLibBin:rm
STRIP = OSLibBin:StripDepends

LIBS  = C:o.Stubs

#Lists of derived objects
C =   	 c.defmod

OBJS = \
o.defmod \
o.trace \
o.asmhelp \
o.callback \
o.chelp \
o.def \
o.cheader \
o.hdr \
o.lookup \
o.objasm \
o.realloc \
o.resource \
o.riscos \
o.riscosa \
o.cstrong \
o.x

TEMPLATES= \
<choices$write>.bison.simple \
<choices$write>.bison.hairy


#Externally visible targets
all:  	 ${BIN}

release: ${BIN}
      	 ${STRIP} Makefile

clean:
      - ${STRIP} Makefile
      - ${RM} ${C} ${OBJS}

stripdepends:
      	    ${STRIP} Makefile

tree:
      @cdir c
      @cdir o

archive_source:
   ${STRIP} Makefile
   @cdir ${ARCHIVE}
   @cdir ${ARCHIVE}.defmod
   @cdir ${ARCHIVE}.defmod.Build_GNU
   @cdir ${ARCHIVE}.defmod.Build_RISCOS
   @cdir ${ARCHIVE}.defmod.oslib
   @cdir ${ARCHIVE}.defmod.oslib.h
   @cdir ${ARCHIVE}.defmod.oslib.Hdr
   @cdir ${ARCHIVE}.defmod.ports
   @cdir ${ARCHIVE}.defmod.ports.solaris
   @cdir ${ARCHIVE}.defmod.ports.solaris.h
   @cdir ${ARCHIVE}.defmod.sources
   @cdir ${ARCHIVE}.defmod.sources.c
   @cdir ${ARCHIVE}.defmod.sources.h
   @cdir ${ARCHIVE}.defmod.sources.y
   @cdir ${ARCHIVE}.defmod.support
   @cdir ${ARCHIVE}.defmod.support.c
   @cdir ${ARCHIVE}.defmod.support.doc
   @cdir ${ARCHIVE}.defmod.support.h
   @cdir ${ARCHIVE}.defmod.support.s
   @cdir ${ARCHIVE}.unix_eg
   copy ${DIR}.*     	      	       	  ${ARCHIVE}.*      	     	      ${COPYFLAGS}
   -copy ${DIR}.defmod.*       	       	  ${ARCHIVE}.defmod.*        	      ${COPYFLAGS}
   copy ${DIR}.defmod.Build_GNU.*      	  ${ARCHIVE}.defmod.Build_GNU.*       ${COPYFLAGS}
   copy ${DIR}.defmod.Build_RISCOS.*      ${ARCHIVE}.defmod.Build_RISCOS.*    ${COPYFLAGS}
   -copy ${DIR}.defmod.oslib.*         	  ${ARCHIVE}.defmod.oslib.*           ${COPYFLAGS}
   copy ${DIR}.defmod.oslib.h.*        	  ${ARCHIVE}.defmod.oslib.h.*         ${COPYFLAGS}
   copy ${DIR}.defmod.oslib.Hdr.*      	  ${ARCHIVE}.defmod.oslib.Hdr.*       ${COPYFLAGS}
   -copy ${DIR}.defmod.ports.*         	  ${ARCHIVE}.defmod.ports.*           ${COPYFLAGS}
   copy ${DIR}.defmod.ports.solaris.*     ${ARCHIVE}.defmod.ports.solaris.*   ${COPYFLAGS}
   copy ${DIR}.defmod.ports.solaris.h.*	  ${ARCHIVE}.defmod.ports.solaris.h.* ${COPYFLAGS}
   -copy ${DIR}.defmod.sources.*       	  ${ARCHIVE}.defmod.sources.*         ${COPYFLAGS}
   copy ${DIR}.defmod.sources.c.*      	  ${ARCHIVE}.defmod.sources.c.*       ${COPYFLAGS}
   copy ${DIR}.defmod.sources.h.*      	  ${ARCHIVE}.defmod.sources.h.*       ${COPYFLAGS}
   copy ${DIR}.defmod.sources.y.*      	  ${ARCHIVE}.defmod.sources.y.*       ${COPYFLAGS}
   -copy ${DIR}.defmod.support.*       	  ${ARCHIVE}.defmod.support.*         ${COPYFLAGS}
   copy ${DIR}.defmod.support.c.*      	  ${ARCHIVE}.defmod.support.c.*       ${COPYFLAGS}
   copy ${DIR}.defmod.support.doc.*    	  ${ARCHIVE}.defmod.support.doc.*     ${COPYFLAGS}
   copy ${DIR}.defmod.support.h.*      	  ${ARCHIVE}.defmod.support.h.*       ${COPYFLAGS}
   copy ${DIR}.defmod.support.s.*      	  ${ARCHIVE}.defmod.support.s.*       ${COPYFLAGS}
   copy ${DIR}.unix_eg.*      	       	  ${ARCHIVE}.unix_eg.*	     	      ${COPYFLAGS}

#------------------------------------------------------------------------
#internal targets
${BIN}:	     ${C} ${OBJS} ${LIBS}
   	    ${LINK} -output $@ ${OBJS} ${LIBS}
      	    Squeeze $@
   	    SetType $@ Absolute
   	    Access $@ WR/R

o.defmod: c.defmod
      	    ${CC} c.defmod -c -o o.defmod

c.defmod: y.defmod
      	    ${YACC} ^.sources.y.defmod -o c.defmod

#General rules
.SUFFIXES:  .o .c .y .s
.y.c:;      ${YACC} $< -o $@
.c.o:;      ${CC} -apcs 3/${APCS} -c -o $@ $<
.s.o:;      ${ASM} -apcs 3/${APCS}bit $< $@

#------------------------------------------------------------------------
# Dynamic dependencies:
